package groupe22;

import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.tree.*;


public class AdaptateurModeP extends DefaultTreeModel{
    
    private FileGestion model;
    private DefaultMutableTreeNode racine;
    /** Creates a new instance of AdaptateurModel */
    public AdaptateurModeP(FileGestion model) {
        super(null,false);
        this.model=model;
        Element monFichierRacine=RacineP.getInstance();
        this.racine=new DefaultMutableTreeNode(monFichierRacine);
        this.setRoot(racine);
        ArrayList posteTravail=((Dossier)monFichierRacine).getFils();
        Iterator<Element> i=posteTravail.iterator();
        int index=0;
        while(i.hasNext()){
            
            Dossier temp=(Dossier) i.next();
            ajouterNoeud(temp,racine,index);
            index++;
        }
    }
    
    public void ajouterNoeud(Element f,MutableTreeNode parent,int index){
        
        DefaultMutableTreeNode fils=new DefaultMutableTreeNode(f);
        this.insertNodeInto(fils,parent,index);
        if(f instanceof Dossier){
            
            
            ArrayList dossiers=((Dossier)f).getFils();
            
            if(dossiers.size()!=0){
                
                Iterator i=dossiers.iterator();
                int indexNouveau=0;
                while(i.hasNext()){
                    
                    Element suivant=(Element) i.next();
                    ajouterNoeud(suivant,fils,indexNouveau);
                    indexNouveau++;
                    
                    
                }
            }
        }
        
    }
    
}
